package br.com.msystem.vo;
// Generated 12/03/2013 13:33:49 by Hibernate Tools 3.4.0.CR1


import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * ContasPagar generated by hbm2java
 */
@Entity
@Table(name="contas_pagar"
    ,catalog="handy"
    , uniqueConstraints = @UniqueConstraint(columnNames={"fornecedor_sq", "numero_duplicata"}) 
)
public class ContasPagar  implements java.io.Serializable {


     private int contaPagarSq;
     private Fornecedor fornecedor;
     private ContaBanco contaBanco;
     private String numeroDuplicata;
     private BigDecimal valorDuplicata;
     private Date dtcadastroDuplicata;
     private Date dtvencimentoDuplicata;
     private byte[] observacao;
     private Integer contaPagarAutoSq;
     private Integer referenciaAuto;
     private Date dtPgto;
     private BigDecimal valorPgto;
     private BigDecimal valorDesconto;
     private BigDecimal valorJuros;
     private String formaPgto;
     private Set<ContasPagarPgto> contasPagarPgtos = new HashSet<ContasPagarPgto>(0);

    public ContasPagar() {
    }

	
    public ContasPagar(Fornecedor fornecedor, String numeroDuplicata, Date dtcadastroDuplicata, Date dtvencimentoDuplicata) {
        this.fornecedor = fornecedor;
        this.numeroDuplicata = numeroDuplicata;
        this.dtcadastroDuplicata = dtcadastroDuplicata;
        this.dtvencimentoDuplicata = dtvencimentoDuplicata;
    }
    public ContasPagar(Fornecedor fornecedor, ContaBanco contaBanco, String numeroDuplicata, BigDecimal valorDuplicata, Date dtcadastroDuplicata, Date dtvencimentoDuplicata, byte[] observacao, Integer contaPagarAutoSq, Integer referenciaAuto, Date dtPgto, BigDecimal valorPgto, BigDecimal valorDesconto, BigDecimal valorJuros, String formaPgto, Set<ContasPagarPgto> contasPagarPgtos) {
       this.fornecedor = fornecedor;
       this.contaBanco = contaBanco;
       this.numeroDuplicata = numeroDuplicata;
       this.valorDuplicata = valorDuplicata;
       this.dtcadastroDuplicata = dtcadastroDuplicata;
       this.dtvencimentoDuplicata = dtvencimentoDuplicata;
       this.observacao = observacao;
       this.contaPagarAutoSq = contaPagarAutoSq;
       this.referenciaAuto = referenciaAuto;
       this.dtPgto = dtPgto;
       this.valorPgto = valorPgto;
       this.valorDesconto = valorDesconto;
       this.valorJuros = valorJuros;
       this.formaPgto = formaPgto;
       this.contasPagarPgtos = contasPagarPgtos;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="conta_pagar_sq", unique=true, nullable=false)
    public int getContaPagarSq() {
        return this.contaPagarSq;
    }
    
    public void setContaPagarSq(int contaPagarSq) {
        this.contaPagarSq = contaPagarSq;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="fornecedor_sq", nullable=false)
    public Fornecedor getFornecedor() {
        return this.fornecedor;
    }
    
    public void setFornecedor(Fornecedor fornecedor) {
        this.fornecedor = fornecedor;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="conta_banco_sq")
    public ContaBanco getContaBanco() {
        return this.contaBanco;
    }
    
    public void setContaBanco(ContaBanco contaBanco) {
        this.contaBanco = contaBanco;
    }

    
    @Column(name="numero_duplicata", nullable=false, length=20)
    public String getNumeroDuplicata() {
        return this.numeroDuplicata;
    }
    
    public void setNumeroDuplicata(String numeroDuplicata) {
        this.numeroDuplicata = numeroDuplicata;
    }

    
    @Column(name="valor_duplicata", precision=9)
    public BigDecimal getValorDuplicata() {
        return this.valorDuplicata;
    }
    
    public void setValorDuplicata(BigDecimal valorDuplicata) {
        this.valorDuplicata = valorDuplicata;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="dtcadastro_duplicata", nullable=false, length=19)
    public Date getDtcadastroDuplicata() {
        return this.dtcadastroDuplicata;
    }
    
    public void setDtcadastroDuplicata(Date dtcadastroDuplicata) {
        this.dtcadastroDuplicata = dtcadastroDuplicata;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="dtvencimento_duplicata", nullable=false, length=19)
    public Date getDtvencimentoDuplicata() {
        return this.dtvencimentoDuplicata;
    }
    
    public void setDtvencimentoDuplicata(Date dtvencimentoDuplicata) {
        this.dtvencimentoDuplicata = dtvencimentoDuplicata;
    }

    
    @Column(name="observacao")
    public byte[] getObservacao() {
        return this.observacao;
    }
    
    public void setObservacao(byte[] observacao) {
        this.observacao = observacao;
    }

    
    @Column(name="conta_pagar_auto_sq")
    public Integer getContaPagarAutoSq() {
        return this.contaPagarAutoSq;
    }
    
    public void setContaPagarAutoSq(Integer contaPagarAutoSq) {
        this.contaPagarAutoSq = contaPagarAutoSq;
    }

    
    @Column(name="referencia_auto")
    public Integer getReferenciaAuto() {
        return this.referenciaAuto;
    }
    
    public void setReferenciaAuto(Integer referenciaAuto) {
        this.referenciaAuto = referenciaAuto;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="dt_pgto", length=19)
    public Date getDtPgto() {
        return this.dtPgto;
    }
    
    public void setDtPgto(Date dtPgto) {
        this.dtPgto = dtPgto;
    }

    
    @Column(name="valor_pgto", precision=9)
    public BigDecimal getValorPgto() {
        return this.valorPgto;
    }
    
    public void setValorPgto(BigDecimal valorPgto) {
        this.valorPgto = valorPgto;
    }

    
    @Column(name="valor_desconto", precision=9)
    public BigDecimal getValorDesconto() {
        return this.valorDesconto;
    }
    
    public void setValorDesconto(BigDecimal valorDesconto) {
        this.valorDesconto = valorDesconto;
    }

    
    @Column(name="valor_juros", precision=9)
    public BigDecimal getValorJuros() {
        return this.valorJuros;
    }
    
    public void setValorJuros(BigDecimal valorJuros) {
        this.valorJuros = valorJuros;
    }

    
    @Column(name="forma_pgto", length=20)
    public String getFormaPgto() {
        return this.formaPgto;
    }
    
    public void setFormaPgto(String formaPgto) {
        this.formaPgto = formaPgto;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="contasPagar")
    public Set<ContasPagarPgto> getContasPagarPgtos() {
        return this.contasPagarPgtos;
    }
    
    public void setContasPagarPgtos(Set<ContasPagarPgto> contasPagarPgtos) {
        this.contasPagarPgtos = contasPagarPgtos;
    }




}


